shell脚本的结构性语句 |
您所在的位置:网站首页 › shell脚本while read line › shell脚本的结构性语句 |
shell的结构性语句即 分支和循环 分支语句 if 条件;then ... 代码块 else ... 代码块 fi #结尾例: #!/bin/bash read var if [ ${var}x = "goodx" ];then echo "good" else echo "not good" fi输出结果: ![]() 当输入"good" "gooo" ""时,分别输出"good" "not good" "not good" 虽然shell的test的规则是,测试成功为0,测试失败为1(参考我之前博客:shell的功能性(测试)语句-->test),但是在分支shell的结构性语句中仍然是遵循条件满足则执行,不满足则执行else后的语句。 分支语句的结束由开始关键字的反序表示 如 if --> fi case --> esac 多路分支语句 case 字符型变量 in 模式1) ... ;;#类似于C语言中的break,但是在shell里面;;一定要 模式2) ... ;; ... 模式n) ... ;; esac #结尾 filename=$1 case $filename in *.c) #匹配所有以.c结尾的文件名 echo "c source file" ;; *.h) echo "header file" ;; *.cpp) echo "c++ source file" ;; esac case语句真正强大的地方在于它可以使用模式而不是固定的字符来匹配。一个模式是由正规字符和特殊通配符组成的字符串,该模式可以用正则表达式 * shell通配符 代表任意多个(也可以是0个)字符 ? shell通配符 代表一个任意字符 循环语句 for循环 for 变量名 in 单词表 do ...循环体语句 done "单词表":以空白符分隔开来的字符串列表,比如: a ab c ddd for循环执行的次数就是“单词表”中的单词的个数,并且每 次执行的时候,“变量”的值就取下一个单词的值 类似于python的for循环例子: for i in a b c ddd do echo $i done #该shell脚本将陆续输出 a b c ddd while循环 while 命令或表达式 do ... done until循环 until 命令或表达式 do ... done until和while的功能相似,所不同的是until只当测试的 命令或表达式的值为假的时候才执行循环体的命令列表, 条件成立,则退出循环,这一点和while相反 break 和 continue break n 跳出n层循环,n不写时默认为1,和C语言含义一致 continue n 跳过n层循环,n=2时,跳过本次循环和上一层循环 n不写时默认为1,和C语言含义一致 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |